package core;

import index.Index;
import repository.Repository;

import java.io.File;

public class JitAdd {
    public static void add(String[] filename) throws Exception {
        GitObject gitobn;
        //add后无文件路径
        if (filename.length <= 2) {
            System.out.println("文件名不存在，请检查后再试");
            return;
        }
        //构造所要添加的文件的路径
        File file = new File(Repository.getWorkTree() + File.separator + filename[2]);
        //检查文件是否存在
        if (!file().exists()) {
            System.out.println("filename + \"不存在，请检查后再尝试\"");
            return;
        }
        //检测文件是否为文件夹
        else {
            if(new file().isFile()) { //文件添加
                gitobn = new Blob(file);
                gitobn.writeObject("add"); //临时添加
                if(checkIsSame(gitobn, filename)) {
                    System.out.println(filename + " 文件添加成功");
                    System.out.println("add: " + gitobn.toString() + " " + gitobn.getFileName());
                }
            } else if(file().isDirectory()) { //文件夹添加
                gitobn = new Tree(file);
                gitobn.writeObject("add"); //临时添加
                if(checkIsSame(gitobn, filename)) {
                    System.out.println(filename + " 文件添加成功");
                    System.out.println("add: " + gitobn.toString() + " " + gitobn.getFileName());
                }
    }
}